【例子介绍】
这是介绍了tcpclient阻塞和非阻塞的实例,通过实例可以了解这两个技术的区别
【相关图片】
【源码结构】
procedure TForm1.IdTCPServerExecute(AThread: TIdPeerThread);
var
sCommand: string;
begin
//每次读一个字符
sCommand := AThread.Connection.ReadString(1);
if SameText(sCommand, 'Q') then
begin
mmo1.Lines.Add('断开同主机 ' AThread.Connection.Socket.Binding.PeerIP ' 的连接!');
AThread.Connection.Disconnect;
end
else if SameText(sCommand, 'x') then
begin
mmo1.Lines.Add('接收到数据: ' sCommand);
AThread.Connection.Write('ab');
end
else if SameText(sCommand, 'm') then
begin
mmo1.Lines.Add('接收到数据: ' sCommand);
AThread.Connection.Write('cd');
end;
end;
.
├── Example
│ ├── 1-IndyClient
│ │ ├── Client.exe
│ │ ├── IdTcpClient
│ │ │ ├── Client.cfg
│ │ │ ├── Client.dof
│ │ │ ├── Client.dpr
│ │ │ ├── Client.res
│ │ │ ├── mainFrm.ddp
│ │ │ ├── mainFrm.dfm
│ │ │ └── mainFrm.pas
│ │ ├── Indy9
│ │ │ ├── ADLER32.OBJ
│ │ │ ├── Clean.bat
│ │ │ ├── Computil.dpr
│ │ │ ├── Computil.exe
│ │ │ ├── DEFLATE.OBJ
│ │ │ ├── Fullc4.bat
│ │ │ ├── Fullc5.bat
│ │ │ ├── Fullc6.bat
│ │ │ ├── Fulld4.bat
│ │ │ ├── Fulld5.bat
│ │ │ ├── Fulld6.bat
│ │ │ ├── Fulld7.bat
│ │ │ ├── INFBLOCK.OBJ
│ │ │ ├── INFCODES.OBJ
│ │ │ ├── INFFAST.OBJ
│ │ │ ├── INFLATE.OBJ
│ │ │ ├── INFTREES.OBJ
│ │ │ ├── INFUTIL.OBJ
│ │ │ ├── IdASN1Util.dcu
│ │ │ ├── IdASN1Util.pas
│ │ │ ├── IdAbout.dcu
│ │ │ ├── IdAbout.pas
│ │ │ ├── IdAntiFreeze.dcu
│ │ │ ├── IdAntiFreeze.pas
│ │ │ ├── IdAntiFreezeBase.dcu
│ │ │ ├── IdAntiFreezeBase.pas
│ │ │ ├── IdAssignedNumbers.dcu
│ │ │ ├── IdAssignedNumbers.pas
│ │ │ ├── IdAuthentication.dcu
│ │ │ ├── IdAuthentication.pas
│ │ │ ├── IdAuthenticationDigest.dcu
│ │ │ ├── IdAuthenticationDigest.pas
│ │ │ ├── IdAuthenticationManager.dcu
│ │ │ ├── IdAuthenticationManager.pas
│ │ │ ├── IdAuthenticationNTLM.dcu
│ │ │ ├── IdAuthenticationNTLM.pas
│ │ │ ├── IdAuthenticationSSPI.pas
│ │ │ ├── IdBaseComponent.dcu
│ │ │ ├── IdBaseComponent.pas
│ │ │ ├── IdBlockCipherIntercept.dcu
│ │ │ ├── IdBlockCipherIntercept.pas
│ │ │ ├── IdChargenServer.dcu
│ │ │ ├── IdChargenServer.pas
│ │ │ ├── IdChargenUDPServer.dcu
│ │ │ ├── IdChargenUDPServer.pas
│ │ │ ├── IdCoder.dcu
│ │ │ ├── IdCoder.pas
│ │ │ ├── IdCoder3to4.dcu
│ │ │ ├── IdCoder3to4.pas
│ │ │ ├── IdCoderHeader.dcu
│ │ │ ├── IdCoderHeader.pas
│ │ │ ├── IdCoderMIME.dcu
│ │ │ ├── IdCoderMIME.pas
│ │ │ ├── IdCoderQuotedPrintable.dcu
│ │ │ ├── IdCoderQuotedPrintable.pas
│ │ │ ├── IdCoderUUE.dcu
│ │ │ ├── IdCoderUUE.pas
│ │ │ ├── IdCoderXXE.dcu
│ │ │ ├── IdCoderXXE.pas
│ │ │ ├── IdCompilerDefines.inc
│ │ │ ├── IdComponent.dcu
│ │ │ ├── IdComponent.pas
│ │ │ ├── IdCompressionIntercept.dcu
│ │ │ ├── IdCompressionIntercept.pas
│ │ │ ├── IdContainers.pas
│ │ │ ├── IdCookie.dcu
│ │ │ ├── IdCookie.pas
│ │ │ ├── IdCookieManager.dcu
│ │ │ ├── IdCookieManager.pas
│ │ │ ├── IdCreditsBitmap.res
│ │ │ ├── IdCustomHTTPServer.dcu
│ │ │ ├── IdCustomHTTPServer.pas
│ │ │ ├── IdDICTServer.dcu
│ │ │ ├── IdDICTServer.pas
│ │ │ ├── IdDNSResolver.dcu
│ │ │ ├── IdDNSResolver.pas
│ │ │ ├── IdDateTimeStamp.dcu
│ │ │ ├── IdDateTimeStamp.pas
│ │ │ ├── IdDayTime.dcu
│ │ │ ├── IdDayTime.pas
│ │ │ ├── IdDayTimeServer.dcu
│ │ │ ├── IdDayTimeServer.pas
│ │ │ ├── IdDayTimeUDP.dcu
│ │ │ ├── IdDayTimeUDP.pas
│ │ │ ├── IdDayTimeUDPServer.dcu
│ │ │ ├── IdDayTimeUDPServer.pas
│ │ │ ├── IdDiscardServer.dcu
│ │ │ ├── IdDiscardServer.pas
│ │ │ ├── IdDiscardUDPServer.dcu
│ │ │ ├── IdDiscardUDPServer.pas
│ │ │ ├── IdDsnBaseCmpEdt.dcu
│ │ │ ├── IdDsnBaseCmpEdt.pas
│ │ │ ├── IdDsnPropEdBinding.dcu
│ │ │ ├── IdDsnPropEdBinding.pas
│ │ │ ├── IdDsnRegister.dcu
│ │ │ ├── IdDsnRegister.pas
│ │ │ ├── IdDummyUnit.pas
│ │ │ ├── IdEMailAddress.dcu
│ │ │ ├── IdEMailAddress.pas
│ │ │ ├── IdEcho.dcu
│ │ │ ├── IdEcho.pas
│ │ │ ├── IdEchoServer.dcu
│ │ │ ├── IdEchoServer.pas
│ │ │ ├── IdEchoUDP.dcu
│ │ │ ├── IdEchoUDP.pas
│ │ │ ├── IdEchoUDPServer.dcu
│ │ │ ├── IdEchoUDPServer.pas
│ │ │ ├── IdException.dcu
│ │ │ ├── IdException.dcu.r31761
│ │ │ ├── IdException.dcu.r36742
│ │ │ ├── IdException.pas
│ │ │ ├── IdFTP.dcu
│ │ │ ├── IdFTP.pas
│ │ │ ├── IdFTPCommon.dcu
│ │ │ ├── IdFTPCommon.pas
│ │ │ ├── IdFTPList.dcu
│ │ │ ├── IdFTPList.pas
│ │ │ ├── IdFTPServer.dcu
│ │ │ ├── IdFTPServer.pas
│ │ │ ├── IdFinger.dcu
│ │ │ ├── IdFinger.pas
│ │ │ ├── IdFingerServer.dcu
│ │ │ ├── IdFingerServer.pas
│ │ │ ├── IdGlobal.dcu
│ │ │ ├── IdGlobal.dcu.r31761
│ │ │ ├── IdGlobal.dcu.r36742
│ │ │ ├── IdGlobal.pas
│ │ │ ├── IdGopher.dcu
│ │ │ ├── IdGopher.pas
│ │ │ ├── IdGopherConsts.dcu
│ │ │ ├── IdGopherConsts.pas
│ │ │ ├── IdGopherServer.dcu
│ │ │ ├── IdGopherServer.pas
│ │ │ ├── IdHL7.dcu
│ │ │ ├── IdHL7.pas
│ │ │ ├── IdHTTP.dcu
│ │ │ ├── IdHTTP.pas
│ │ │ ├── IdHTTPHeaderInfo.dcu
│ │ │ ├── IdHTTPHeaderInfo.pas
│ │ │ ├── IdHTTPProxyServer.pas
│ │ │ ├── IdHTTPServer.dcu
│ │ │ ├── IdHTTPServer.pas
│ │ │ ├── IdHTTPWebBrokerBridge.pas
│ │ │ ├── IdHash.dcu
│ │ │ ├── IdHash.pas
│ │ │ ├── IdHashCRC.dcu
│ │ │ ├── IdHashCRC.pas
│ │ │ ├── IdHashElf.dcu
│ │ │ ├── IdHashElf.pas
│ │ │ ├── IdHashMessageDigest.dcu
│ │ │ ├── IdHashMessageDigest.pas
│ │ │ ├── IdHeaderList.dcu
│ │ │ ├── IdHeaderList.pas
│ │ │ ├── IdHostnameServer.pas
│ │ │ ├── IdIMAP4.dcu
│ │ │ ├── IdIMAP4.pas
│ │ │ ├── IdIMAP4Server.dcu
│ │ │ ├── IdIMAP4Server.pas
│ │ │ ├── IdIOHandler.dcu
│ │ │ ├── IdIOHandler.pas
│ │ │ ├── IdIOHandlerSocket.dcu
│ │ │ ├── IdIOHandlerSocket.pas
│ │ │ ├── IdIOHandlerStream.dcu
│ │ │ ├── IdIOHandlerStream.pas
│ │ │ ├── IdIOHandlerThrottle.dcu
│ │ │ ├── IdIOHandlerThrottle.pas
│ │ │ ├── IdIPMCastBase.dcu
│ │ │ ├── IdIPMCastBase.pas
│ │ │ ├── IdIPMCastClient.dcu
│ │ │ ├── IdIPMCastClient.pas
│ │ │ ├── IdIPMCastServer.dcu
│ │ │ ├── IdIPMCastServer.pas
│ │ │ ├── IdIPWatch.dcu
│ │ │ ├── IdIPWatch.pas
│ │ │ ├── IdIRC.dcu
│ │ │ ├── IdIRC.pas
│ │ │ ├── IdIcmpClient.dcu
│ │ │ ├── IdIcmpClient.pas
│ │ │ ├── IdIdent.dcu
│ │ │ ├── IdIdent.pas
│ │ │ ├── IdIdentServer.dcu
│ │ │ ├── IdIdentServer.pas
│ │ │ ├── IdIntercept.dcu
│ │ │ ├── IdIntercept.pas
│ │ │ ├── IdIrcServer.dcu
│ │ │ ├── IdIrcServer.pas
│ │ │ ├── IdLPR.dcu
│ │ │ ├── IdLPR.pas
│ │ │ ├── IdLogBase.dcu
│ │ │ ├── IdLogBase.pas
│ │ │ ├── IdLogDebug.dcu
│ │ │ ├── IdLogDebug.pas
│ │ │ ├── IdLogEvent.dcu
│ │ │ ├── IdLogEvent.pas
│ │ │ ├── IdLogFile.dcu
│ │ │ ├── IdLogFile.pas
│ │ │ ├── IdLogStream.dcu
│ │ │ ├── IdLogStream.pas
│ │ │ ├── IdMIMETypes.dcu
│ │ │ ├── IdMIMETypes.pas
│ │ │ ├── IdMailBox.dcu
│ │ │ ├── IdMailBox.pas
│ │ │ ├── IdMappedFTP.dcu
│ │ │ ├── IdMappedFTP.pas
│ │ │ ├── IdMappedPortTCP.dcu
│ │ │ ├── IdMappedPortTCP.pas
│ │ │ ├── IdMappedPortUDP.dcu
│ │ │ ├── IdMappedPortUDP.pas
│ │ │ ├── IdMessage.dcu
│ │ │ ├── IdMessage.pas
│ │ │ ├── IdMessageClient.dcu
│ │ │ ├── IdMessageClient.pas
│ │ │ ├── IdMessageCoder.dcu
│ │ │ ├── IdMessageCoder.pas
│ │ │ ├── IdMessageCoderMIME.dcu
│ │ │ ├── IdMessageCoderMIME.pas
│ │ │ ├── IdMessageCoderUUE.dcu
│ │ │ ├── IdMessageCoderUUE.pas
│ │ │ ├── IdMessageCoderXXE.dcu
│ │ │ ├── IdMessageCoderXXE.pas
│ │ │ ├── IdMessageCollection.dcu
│ │ │ ├── IdMessageCollection.pas
│ │ │ ├── IdMultipartFormData.dcu
│ │ │ ├── IdMultipartFormData.pas
│ │ │ ├── IdNNTP.dcu
│ │ │ ├── IdNNTP.pas
│ │ │ ├── IdNNTPServer.dcu
│ │ │ ├── IdNNTPServer.pas
│ │ │ ├── IdNTLM.dcu
│ │ │ ├── IdNTLM.pas
│ │ │ ├── IdNetworkCalculator.dcu
│ │ │ ├── IdNetworkCalculator.pas
│ │ │ ├── IdPOP3.dcu
│ │ │ ├── IdPOP3.pas
│ │ │ ├── IdPOP3Server.dcu
│ │ │ ├── IdPOP3Server.pas
│ │ │ ├── IdQOTDUDP.dcu
│ │ │ ├── IdQOTDUDP.pas
│ │ │ ├── IdQOTDUDPServer.dcu
│ │ │ ├── IdQOTDUDPServer.pas
│ │ │ ├── IdQotd.dcu
│ │ │ ├── IdQotd.pas
│ │ │ ├── IdQotdServer.dcu
│ │ │ ├── IdQotdServer.pas
│ │ │ ├── IdRFCReply.dcu
│ │ │ ├── IdRFCReply.pas
│ │ │ ├── IdRSH.dcu
│ │ │ ├── IdRSH.pas
│ │ │ ├── IdRSHServer.dcu
│ │ │ ├── IdRSHServer.pas
│ │ │ ├── IdRawBase.dcu
│ │ │ ├── IdRawBase.pas
│ │ │ ├── IdRawClient.dcu
│ │ │ ├── IdRawClient.pas
│ │ │ ├── IdRawFunctions.dcu
│ │ │ ├── IdRawFunctions.pas
│ │ │ ├── IdRawHeaders.dcu
│ │ │ ├── IdRawHeaders.pas
│ │ │ ├── IdRegister.dcr
│ │ │ ├── IdRegister.dcu
│ │ │ ├── IdRegister.pas
│ │ │ ├── IdRegisterCool.dcr
│ │ │ ├── IdRemoteCMDClient.dcu
│ │ │ ├── IdRemoteCMDClient.pas
│ │ │ ├── IdRemoteCMDServer.dcu
│ │ │ ├── IdRemoteCMDServer.pas
│ │ │ ├── IdResourceStrings.dcu
│ │ │ ├── IdResourceStrings.dcu.r31761
│ │ │ ├── IdResourceStrings.dcu.r36742
│ │ │ ├── IdResourceStrings.pas
│ │ │ ├── IdRexec.dcu
│ │ │ ├── IdRexec.pas
│ │ │ ├── IdRexecServer.dcu
│ │ │ ├── IdRexecServer.pas
│ │ │ ├── IdSMTP.dcu
│ │ │ ├── IdSMTP.pas
│ │ │ ├── IdSMTPServer.dcu
│ │ │ ├── IdSMTPServer.pas
│ │ │ ├── IdSNMP.dcu
│ │ │ ├── IdSNMP.pas
│ │ │ ├── IdSNPP.dcu
│ │ │ ├── IdSNPP.pas
│ │ │ ├── IdSNTP.dcu
│ │ │ ├── IdSNTP.pas
│ │ │ ├── IdSSLOpenSSL.dcu
│ │ │ ├── IdSSLOpenSSL.pas
│ │ │ ├── IdSSLOpenSSLHeaders.dcu
│ │ │ ├── IdSSLOpenSSLHeaders.pas
│ │ │ ├── IdSSPI.pas
│ │ │ ├── IdServerIOHandler.dcu
│ │ │ ├── IdServerIOHandler.pas
│ │ │ ├── IdServerIOHandlerSocket.dcu
│ │ │ ├── IdServerIOHandlerSocket.pas
│ │ │ ├── IdSimpleServer.dcu
│ │ │ ├── IdSimpleServer.pas
│ │ │ ├── IdSocketHandle.dcu
│ │ │ ├── IdSocketHandle.pas
│ │ │ ├── IdSocks.dcu
│ │ │ ├── IdSocks.pas
│ │ │ ├── IdStack.dcu
│ │ │ ├── IdStack.dcu.r31761
│ │ │ ├── IdStack.dcu.r36742
│ │ │ ├── IdStack.pas
│ │ │ ├── IdStackConsts.dcu
│ │ │ ├── IdStackConsts.dcu.r31761
│ │ │ ├── IdStackConsts.dcu.r36742
│ │ │ ├── IdStackConsts.pas
│ │ │ ├── IdStackLinux.pas
│ │ │ ├── IdStackWindows.dcu
│ │ │ ├── IdStackWindows.dcu.r31761
│ │ │ ├── IdStackWindows.dcu.r36742
│ │ │ ├── IdStackWindows.pas
│ │ │ ├── IdStream.dcu
│ │ │ ├── IdStream.pas
│ │ │ ├── IdStrings.dcu
│ │ │ ├── IdStrings.pas
│ │ │ ├── IdSync.dcu
│ │ │ ├── IdSync.pas
│ │ │ ├── IdSysLog.dcu
│ │ │ ├── IdSysLog.pas
│ │ │ ├── IdSysLogMessage.dcu
│ │ │ ├── IdSysLogMessage.pas
│ │ │ ├── IdSysLogServer.dcu
│ │ │ ├── IdSysLogServer.pas
│ │ │ ├── IdTCPClient.dcu
│ │ │ ├── IdTCPClient.pas
│ │ │ ├── IdTCPClient.~pas
│ │ │ ├── IdTCPConnection.dcu
│ │ │ ├── IdTCPConnection.pas
│ │ │ ├── IdTCPServer.dcu
│ │ │ ├── IdTCPServer.pas
│ │ │ ├── IdTCPStream.dcu
│ │ │ ├── IdTCPStream.pas
│ │ │ ├── IdTelnet.dcu
│ │ │ ├── IdTelnet.pas
│ │ │ ├── IdTelnetServer.dcu
│ │ │ ├── IdTelnetServer.pas
│ │ │ ├── IdThread.dcu
│ │ │ ├── IdThread.pas
│ │ │ ├── IdThreadComponent.dcu
│ │ │ ├── IdThreadComponent.pas
│ │ │ ├── IdThreadMgr.dcu
│ │ │ ├── IdThreadMgr.pas
│ │ │ ├── IdThreadMgrDefault.dcu
│ │ │ ├── IdThreadMgrDefault.pas
│ │ │ ├── IdThreadMgrPool.dcu
│ │ │ ├── IdThreadMgrPool.pas
│ │ │ ├── IdThreadSafe.dcu
│ │ │ ├── IdThreadSafe.pas
│ │ │ ├── IdTime.dcu
│ │ │ ├── IdTime.pas
│ │ │ ├── IdTimeServer.dcu
│ │ │ ├── IdTimeServer.pas
│ │ │ ├── IdTimeUDP.dcu
│ │ │ ├── IdTimeUDP.pas
│ │ │ ├── IdTimeUDPServer.dcu
│ │ │ ├── IdTimeUDPServer.pas
│ │ │ ├── IdTrivialFTP.dcu
│ │ │ ├── IdTrivialFTP.pas
│ │ │ ├── IdTrivialFTPBase.dcu
│ │ │ ├── IdTrivialFTPBase.pas
│ │ │ ├── IdTrivialFTPServer.dcu
│ │ │ ├── IdTrivialFTPServer.pas
│ │ │ ├── IdTunnelCommon.dcu
│ │ │ ├── IdTunnelCommon.pas
│ │ │ ├── IdTunnelMaster.dcu
│ │ │ ├── IdTunnelMaster.pas
│ │ │ ├── IdTunnelSlave.dcu
│ │ │ ├── IdTunnelSlave.pas
│ │ │ ├── IdUDPBase.dcu
│ │ │ ├── IdUDPBase.pas
│ │ │ ├── IdUDPClient.dcu
│ │ │ ├── IdUDPClient.pas
│ │ │ ├── IdUDPServer.dcu
│ │ │ ├── IdUDPServer.pas
│ │ │ ├── IdURI.dcu
│ │ │ ├── IdURI.dcu.r31761
│ │ │ ├── IdURI.dcu.r36742
│ │ │ ├── IdURI.pas
│ │ │ ├── IdUserAccounts.dcu
│ │ │ ├── IdUserAccounts.pas
│ │ │ ├── IdVCard.dcu
│ │ │ ├── IdVCard.pas
│ │ │ ├── IdVers.inc
│ │ │ ├── IdWhoIsServer.dcu
│ │ │ ├── IdWhoIsServer.pas
│ │ │ ├── IdWhois.dcu
│ │ │ ├── IdWhois.pas
│ │ │ ├── IdWinSock2.dcu
│ │ │ ├── IdWinSock2.dcu.r31761
│ │ │ ├── IdWinSock2.dcu.r36742
│ │ │ ├── IdWinSock2.pas
│ │ │ ├── Indy40.RES
│ │ │ ├── Indy40.dpk
│ │ │ ├── Indy40.rc
│ │ │ ├── Indy50.RES
│ │ │ ├── Indy50.dpk
│ │ │ ├── Indy50.rc
│ │ │ ├── Indy60.RES
│ │ │ ├── Indy60.dcu
│ │ │ ├── Indy60.dpk
│ │ │ ├── Indy60.rc
│ │ │ ├── Indy70.RES
│ │ │ ├── Indy70.cfg
│ │ │ ├── Indy70.dpk
│ │ │ ├── Indy70.rc
│ │ │ ├── IndyWin32.rsp
│ │ │ ├── ManualInstall.txt
│ │ │ ├── ReadMe.txt
│ │ │ ├── TREES.OBJ
│ │ │ ├── dclIndy40.RES
│ │ │ ├── dclIndy40.dpk
│ │ │ ├── dclIndy40.rc
│ │ │ ├── dclIndy50.RES
│ │ │ ├── dclIndy50.dpk
│ │ │ ├── dclIndy50.rc
│ │ │ ├── dclIndy60.RES
│ │ │ ├── dclIndy60.dcu
│ │ │ ├── dclIndy60.dpk
│ │ │ ├── dclIndy60.rc
│ │ │ ├── dclIndy70.RES
│ │ │ ├── dclIndy70.cfg
│ │ │ ├── dclIndy70.dpk
│ │ │ ├── dclIndy70.rc
│ │ │ ├── dclindy.dpk
│ │ │ ├── dclindy.res
│ │ │ ├── indy.dpk
│ │ │ ├── indy.res
│ │ │ ├── license.txt
│ │ │ ├── lspFix.dpr
│ │ │ ├── lspFix.exe
│ │ │ └── ssl.txt
│ │ └── output
│ │ ├── IdAntiFreezeBase.dcu
│ │ ├── IdAssignedNumbers.dcu
│ │ ├── IdBaseComponent.dcu
│ │ ├── IdComponent.dcu
│ │ ├── IdException.dcu
│ │ ├── IdGlobal.dcu
│ │ ├── IdIOHandler.dcu
│ │ ├── IdIOHandlerSocket.dcu
│ │ ├── IdIntercept.dcu
│ │ ├── IdRFCReply.dcu
│ │ ├── IdResourceStrings.dcu
│ │ ├── IdServerIOHandler.dcu
│ │ ├── IdServerIOHandlerSocket.dcu
│ │ ├── IdSocketHandle.dcu
│ │ ├── IdSocks.dcu
│ │ ├── IdStack.dcu
│ │ ├── IdStackConsts.dcu
│ │ ├── IdStackWindows.dcu
│ │ ├── IdStream.dcu
│ │ ├── IdStrings.dcu
│ │ ├── IdTCPClient.dcu
│ │ ├── IdTCPConnection.dcu
│ │ ├── IdTCPServer.dcu
│ │ ├── IdTCPStream.dcu
│ │ ├── IdThread.dcu
│ │ ├── IdThreadMgr.dcu
│ │ ├── IdThreadMgrDefault.dcu
│ │ ├── IdThreadSafe.dcu
│ │ ├── IdURI.dcu
│ │ ├── IdWinSock2.dcu
│ │ └── MainFrm.dcu
│ ├── 2-IndyServer
│ │ ├── IdTcpServer
│ │ │ ├── Server.cfg
│ │ │ ├── Server.dof
│ │ │ ├── Server.dpr
│ │ │ ├── Server.res
│ │ │ ├── mainFrm.ddp
│ │ │ ├── mainFrm.dfm
│ │ │ └── mainFrm.pas
│ │ ├── Indy9
│ │ │ ├── ADLER32.OBJ
│ │ │ ├── Clean.bat
│ │ │ ├── Computil.dpr
│ │ │ ├── Computil.exe
│ │ │ ├── DEFLATE.OBJ
│ │ │ ├── Fullc4.bat
│ │ │ ├── Fullc5.bat
│ │ │ ├── Fullc6.bat
│ │ │ ├── Fulld4.bat
│ │ │ ├── Fulld5.bat
│ │ │ ├── Fulld6.bat
│ │ │ ├── Fulld7.bat
│ │ │ ├── INFBLOCK.OBJ
│ │ │ ├── INFCODES.OBJ
│ │ │ ├── INFFAST.OBJ
│ │ │ ├── INFLATE.OBJ
│ │ │ ├── INFTREES.OBJ
│ │ │ ├── INFUTIL.OBJ
│ │ │ ├── IdASN1Util.dcu
│ │ │ ├── IdASN1Util.pas
│ │ │ ├── IdAbout.dcu
│ │ │ ├── IdAbout.pas
│ │ │ ├── IdAntiFreeze.dcu
│ │ │ ├── IdAntiFreeze.pas
│ │ │ ├── IdAntiFreezeBase.dcu
│ │ │ ├── IdAntiFreezeBase.pas
│ │ │ ├── IdAssignedNumbers.dcu
│ │ │ ├── IdAssignedNumbers.pas
│ │ │ ├── IdAuthentication.dcu
│ │ │ ├── IdAuthentication.pas
│ │ │ ├── IdAuthenticationDigest.dcu
│ │ │ ├── IdAuthenticationDigest.pas
│ │ │ ├── IdAuthenticationManager.dcu
│ │ │ ├── IdAuthenticationManager.pas
│ │ │ ├── IdAuthenticationNTLM.dcu
│ │ │ ├── IdAuthenticationNTLM.pas
│ │ │ ├── IdAuthenticationSSPI.pas
│ │ │ ├── IdBaseComponent.dcu
│ │ │ ├── IdBaseComponent.pas
│ │ │ ├── IdBlockCipherIntercept.dcu
│ │ │ ├── IdBlockCipherIntercept.pas
│ │ │ ├── IdChargenServer.dcu
│ │ │ ├── IdChargenServer.pas
│ │ │ ├── IdChargenUDPServer.dcu
│ │ │ ├── IdChargenUDPServer.pas
│ │ │ ├── IdCoder.dcu
│ │ │ ├── IdCoder.pas
│ │ │ ├── IdCoder3to4.dcu
│ │ │ ├── IdCoder3to4.pas
│ │ │ ├── IdCoderHeader.dcu
│ │ │ ├── IdCoderHeader.pas
│ │ │ ├── IdCoderMIME.dcu
│ │ │ ├── IdCoderMIME.pas
│ │ │ ├── IdCoderQuotedPrintable.dcu
│ │ │ ├── IdCoderQuotedPrintable.pas
│ │ │ ├── IdCoderUUE.dcu
│ │ │ ├── IdCoderUUE.pas
│ │ │ ├── IdCoderXXE.dcu
│ │ │ ├── IdCoderXXE.pas
│ │ │ ├── IdCompilerDefines.inc
│ │ │ ├── IdComponent.dcu
│ │ │ ├── IdComponent.pas
│ │ │ ├── IdCompressionIntercept.dcu
│ │ │ ├── IdCompressionIntercept.pas
│ │ │ ├── IdContainers.pas
│ │ │ ├── IdCookie.dcu
│ │ │ ├── IdCookie.pas
│ │ │ ├── IdCookieManager.dcu
│ │ │ ├── IdCookieManager.pas
│ │ │ ├── IdCreditsBitmap.res
│ │ │ ├── IdCustomHTTPServer.dcu
│ │ │ ├── IdCustomHTTPServer.pas
│ │ │ ├── IdDICTServer.dcu
│ │ │ ├── IdDICTServer.pas
│ │ │ ├── IdDNSResolver.dcu
│ │ │ ├── IdDNSResolver.pas
│ │ │ ├── IdDateTimeStamp.dcu
│ │ │ ├── IdDateTimeStamp.pas
│ │ │ ├── IdDayTime.dcu
│ │ │ ├── IdDayTime.pas
│ │ │ ├── IdDayTimeServer.dcu
│ │ │ ├── IdDayTimeServer.pas
│ │ │ ├── IdDayTimeUDP.dcu
│ │ │ ├── IdDayTimeUDP.pas
│ │ │ ├── IdDayTimeUDPServer.dcu
│ │ │ ├── IdDayTimeUDPServer.pas
│ │ │ ├── IdDiscardServer.dcu
│ │ │ ├── IdDiscardServer.pas
│ │ │ ├── IdDiscardUDPServer.dcu
│ │ │ ├── IdDiscardUDPServer.pas
│ │ │ ├── IdDsnBaseCmpEdt.dcu
│ │ │ ├── IdDsnBaseCmpEdt.pas
│ │ │ ├── IdDsnPropEdBinding.dcu
│ │ │ ├── IdDsnPropEdBinding.pas
│ │ │ ├── IdDsnRegister.dcu
│ │ │ ├── IdDsnRegister.pas
│ │ │ ├── IdDummyUnit.pas
│ │ │ ├── IdEMailAddress.dcu
│ │ │ ├── IdEMailAddress.pas
│ │ │ ├── IdEcho.dcu
│ │ │ ├── IdEcho.pas
│ │ │ ├── IdEchoServer.dcu
│ │ │ ├── IdEchoServer.pas
│ │ │ ├── IdEchoUDP.dcu
│ │ │ ├── IdEchoUDP.pas
│ │ │ ├── IdEchoUDPServer.dcu
│ │ │ ├── IdEchoUDPServer.pas
│ │ │ ├── IdException.dcu
│ │ │ ├── IdException.dcu.r31761
│ │ │ ├── IdException.dcu.r36742
│ │ │ ├── IdException.pas
│ │ │ ├── IdFTP.dcu
│ │ │ ├── IdFTP.pas
│ │ │ ├── IdFTPCommon.dcu
│ │ │ ├── IdFTPCommon.pas
│ │ │ ├── IdFTPList.dcu
│ │ │ ├── IdFTPList.pas
│ │ │ ├── IdFTPServer.dcu
│ │ │ ├── IdFTPServer.pas
│ │ │ ├── IdFinger.dcu
│ │ │ ├── IdFinger.pas
│ │ │ ├── IdFingerServer.dcu
│ │ │ ├── IdFingerServer.pas
│ │ │ ├── IdGlobal.dcu
│ │ │ ├── IdGlobal.dcu.r31761
│ │ │ ├── IdGlobal.dcu.r36742
│ │ │ ├── IdGlobal.pas
│ │ │ ├── IdGopher.dcu
│ │ │ ├── IdGopher.pas
│ │ │ ├── IdGopherConsts.dcu
│ │ │ ├── IdGopherConsts.pas
│ │ │ ├── IdGopherServer.dcu
│ │ │ ├── IdGopherServer.pas
│ │ │ ├── IdHL7.dcu
│ │ │ ├── IdHL7.pas
│ │ │ ├── IdHTTP.dcu
│ │ │ ├── IdHTTP.pas
│ │ │ ├── IdHTTPHeaderInfo.dcu
│ │ │ ├── IdHTTPHeaderInfo.pas
│ │ │ ├── IdHTTPProxyServer.pas
│ │ │ ├── IdHTTPServer.dcu
│ │ │ ├── IdHTTPServer.pas
│ │ │ ├── IdHTTPWebBrokerBridge.pas
│ │ │ ├── IdHash.dcu
│ │ │ ├── IdHash.pas
│ │ │ ├── IdHashCRC.dcu
│ │ │ ├── IdHashCRC.pas
│ │ │ ├── IdHashElf.dcu
│ │ │ ├── IdHashElf.pas
│ │ │ ├── IdHashMessageDigest.dcu
│ │ │ ├── IdHashMessageDigest.pas
│ │ │ ├── IdHeaderList.dcu
│ │ │ ├── IdHeaderList.pas
│ │ │ ├── IdHostnameServer.pas
│ │ │ ├── IdIMAP4.dcu
│ │ │ ├── IdIMAP4.pas
│ │ │ ├── IdIMAP4Server.dcu
│ │ │ ├── IdIMAP4Server.pas
│ │ │ ├── IdIOHandler.dcu
│ │ │ ├── IdIOHandler.pas
│ │ │ ├── IdIOHandlerSocket.dcu
│ │ │ ├── IdIOHandlerSocket.pas
│ │ │ ├── IdIOHandlerStream.dcu
│ │ │ ├── IdIOHandlerStream.pas
│ │ │ ├── IdIOHandlerThrottle.dcu
│ │ │ ├── IdIOHandlerThrottle.pas
│ │ │ ├── IdIPMCastBase.dcu
│ │ │ ├── IdIPMCastBase.pas
│ │ │ ├── IdIPMCastClient.dcu
│ │ │ ├── IdIPMCastClient.pas
│ │ │ ├── IdIPMCastServer.dcu
│ │ │ ├── IdIPMCastServer.pas
│ │ │ ├── IdIPWatch.dcu
│ │ │ ├── IdIPWatch.pas
│ │ │ ├── IdIRC.dcu
│ │ │ ├── IdIRC.pas
│ │ │ ├── IdIcmpClient.dcu
│ │ │ ├── IdIcmpClient.pas
│ │ │ ├── IdIdent.dcu
│ │ │ ├── IdIdent.pas
│ │ │ ├── IdIdentServer.dcu
│ │ │ ├── IdIdentServer.pas
│ │ │ ├── IdIntercept.dcu
│ │ │ ├── IdIntercept.pas
│ │ │ ├── IdIrcServer.dcu
│ │ │ ├── IdIrcServer.pas
│ │ │ ├── IdLPR.dcu
│ │ │ ├── IdLPR.pas
│ │ │ ├── IdLogBase.dcu
│ │ │ ├── IdLogBase.pas
│ │ │ ├── IdLogDebug.dcu
│ │ │ ├── IdLogDebug.pas
│ │ │ ├── IdLogEvent.dcu
│ │ │ ├── IdLogEvent.pas
│ │ │ ├── IdLogFile.dcu
│ │ │ ├── IdLogFile.pas
│ │ │ ├── IdLogStream.dcu
│ │ │ ├── IdLogStream.pas
│ │ │ ├── IdMIMETypes.dcu
│ │ │ ├── IdMIMETypes.pas
│ │ │ ├── IdMailBox.dcu
│ │ │ ├── IdMailBox.pas
│ │ │ ├── IdMappedFTP.dcu
│ │ │ ├── IdMappedFTP.pas
│ │ │ ├── IdMappedPortTCP.dcu
│ │ │ ├── IdMappedPortTCP.pas
│ │ │ ├── IdMappedPortUDP.dcu
│ │ │ ├── IdMappedPortUDP.pas
│ │ │ ├── IdMessage.dcu
│ │ │ ├── IdMessage.pas
│ │ │ ├── IdMessageClient.dcu
│ │ │ ├── IdMessageClient.pas
│ │ │ ├── IdMessageCoder.dcu
│ │ │ ├── IdMessageCoder.pas
│ │ │ ├── IdMessageCoderMIME.dcu
│ │ │ ├── IdMessageCoderMIME.pas
│ │ │ ├── IdMessageCoderUUE.dcu
│ │ │ ├── IdMessageCoderUUE.pas
│ │ │ ├── IdMessageCoderXXE.dcu
│ │ │ ├── IdMessageCoderXXE.pas
│ │ │ ├── IdMessageCollection.dcu
│ │ │ ├── IdMessageCollection.pas
│ │ │ ├── IdMultipartFormData.dcu
│ │ │ ├── IdMultipartFormData.pas
│ │ │ ├── IdNNTP.dcu
│ │ │ ├── IdNNTP.pas
│ │ │ ├── IdNNTPServer.dcu
│ │ │ ├── IdNNTPServer.pas
│ │ │ ├── IdNTLM.dcu
│ │ │ ├── IdNTLM.pas
│ │ │ ├── IdNetworkCalculator.dcu
│ │ │ ├── IdNetworkCalculator.pas
│ │ │ ├── IdPOP3.dcu
│ │ │ ├── IdPOP3.pas
│ │ │ ├── IdPOP3Server.dcu
│ │ │ ├── IdPOP3Server.pas
│ │ │ ├── IdQOTDUDP.dcu
│ │ │ ├── IdQOTDUDP.pas
│ │ │ ├── IdQOTDUDPServer.dcu
│ │ │ ├── IdQOTDUDPServer.pas
│ │ │ ├── IdQotd.dcu
│ │ │ ├── IdQotd.pas
│ │ │ ├── IdQotdServer.dcu
│ │ │ ├── IdQotdServer.pas
│ │ │ ├── IdRFCReply.dcu
│ │ │ ├── IdRFCReply.pas
│ │ │ ├── IdRSH.dcu
│ │ │ ├── IdRSH.pas
│ │ │ ├── IdRSHServer.dcu
│ │ │ ├── IdRSHServer.pas
│ │ │ ├── IdRawBase.dcu
│ │ │ ├── IdRawBase.pas
│ │ │ ├── IdRawClient.dcu
│ │ │ ├── IdRawClient.pas
│ │ │ ├── IdRawFunctions.dcu
│ │ │ ├── IdRawFunctions.pas
│ │ │ ├── IdRawHeaders.dcu
│ │ │ ├── IdRawHeaders.pas
│ │ │ ├── IdRegister.dcr
│ │ │ ├── IdRegister.dcu
│ │ │ ├── IdRegister.pas
│ │ │ ├── IdRegisterCool.dcr
│ │ │ ├── IdRemoteCMDClient.dcu
│ │ │ ├── IdRemoteCMDClient.pas
│ │ │ ├── IdRemoteCMDServer.dcu
│ │ │ ├── IdRemoteCMDServer.pas
│ │ │ ├── IdResourceStrings.dcu
│ │ │ ├── IdResourceStrings.dcu.r31761
│ │ │ ├── IdResourceStrings.dcu.r36742
│ │ │ ├── IdResourceStrings.pas
│ │ │ ├── IdRexec.dcu
│ │ │ ├── IdRexec.pas
│ │ │ ├── IdRexecServer.dcu
│ │ │ ├── IdRexecServer.pas
│ │ │ ├── IdSMTP.dcu
│ │ │ ├── IdSMTP.pas
│ │ │ ├── IdSMTPServer.dcu
│ │ │ ├── IdSMTPServer.pas
│ │ │ ├── IdSNMP.dcu
│ │ │ ├── IdSNMP.pas
│ │ │ ├── IdSNPP.dcu
│ │ │ ├── IdSNPP.pas
│ │ │ ├── IdSNTP.dcu
│ │ │ ├── IdSNTP.pas
│ │ │ ├── IdSSLOpenSSL.dcu
│ │ │ ├── IdSSLOpenSSL.pas
│ │ │ ├── IdSSLOpenSSLHeaders.dcu
│ │ │ ├── IdSSLOpenSSLHeaders.pas
│ │ │ ├── IdSSPI.pas
│ │ │ ├── IdServerIOHandler.dcu
│ │ │ ├── IdServerIOHandler.pas
│ │ │ ├── IdServerIOHandlerSocket.dcu
│ │ │ ├── IdServerIOHandlerSocket.pas
│ │ │ ├── IdSimpleServer.dcu
│ │ │ ├── IdSimpleServer.pas
│ │ │ ├── IdSocketHandle.dcu
│ │ │ ├── IdSocketHandle.pas
│ │ │ ├── IdSocks.dcu
│ │ │ ├── IdSocks.pas
│ │ │ ├── IdStack.dcu
│ │ │ ├── IdStack.dcu.r31761
│ │ │ ├── IdStack.dcu.r36742
│ │ │ ├── IdStack.pas
│ │ │ ├── IdStackConsts.dcu
│ │ │ ├── IdStackConsts.dcu.r31761
│ │ │ ├── IdStackConsts.dcu.r36742
│ │ │ ├── IdStackConsts.pas
│ │ │ ├── IdStackLinux.pas
│ │ │ ├── IdStackWindows.dcu
│ │ │ ├── IdStackWindows.dcu.r31761
│ │ │ ├── IdStackWindows.dcu.r36742
│ │ │ ├── IdStackWindows.pas
│ │ │ ├── IdStream.dcu
│ │ │ ├── IdStream.pas
│ │ │ ├── IdStrings.dcu
│ │ │ ├── IdStrings.pas
│ │ │ ├── IdSync.dcu
│ │ │ ├── IdSync.pas
│ │ │ ├── IdSysLog.dcu
│ │ │ ├── IdSysLog.pas
│ │ │ ├── IdSysLogMessage.dcu
│ │ │ ├── IdSysLogMessage.pas
│ │ │ ├── IdSysLogServer.dcu
│ │ │ ├── IdSysLogServer.pas
│ │ │ ├── IdTCPClient.dcu
│ │ │ ├── IdTCPClient.pas
│ │ │ ├── IdTCPClient.~pas
│ │ │ ├── IdTCPConnection.dcu
│ │ │ ├── IdTCPConnection.pas
│ │ │ ├── IdTCPServer.dcu
│ │ │ ├── IdTCPServer.pas
│ │ │ ├── IdTCPStream.dcu
│ │ │ ├── IdTCPStream.pas
│ │ │ ├── IdTelnet.dcu
│ │ │ ├── IdTelnet.pas
│ │ │ ├── IdTelnetServer.dcu
│ │ │ ├── IdTelnetServer.pas
│ │ │ ├── IdThread.dcu
│ │ │ ├── IdThread.pas
│ │ │ ├── IdThreadComponent.dcu
│ │ │ ├── IdThreadComponent.pas
│ │ │ ├── IdThreadMgr.dcu
│ │ │ ├── IdThreadMgr.pas
│ │ │ ├── IdThreadMgrDefault.dcu
│ │ │ ├── IdThreadMgrDefault.pas
│ │ │ ├── IdThreadMgrPool.dcu
│ │ │ ├── IdThreadMgrPool.pas
│ │ │ ├── IdThreadSafe.dcu
│ │ │ ├── IdThreadSafe.pas
│ │ │ ├── IdTime.dcu
│ │ │ ├── IdTime.pas
│ │ │ ├── IdTimeServer.dcu
│ │ │ ├── IdTimeServer.pas
│ │ │ ├── IdTimeUDP.dcu
│ │ │ ├── IdTimeUDP.pas
│ │ │ ├── IdTimeUDPServer.dcu
│ │ │ ├── IdTimeUDPServer.pas
│ │ │ ├── IdTrivialFTP.dcu
│ │ │ ├── IdTrivialFTP.pas
│ │ │ ├── IdTrivialFTPBase.dcu
│ │ │ ├── IdTrivialFTPBase.pas
│ │ │ ├── IdTrivialFTPServer.dcu
│ │ │ ├── IdTrivialFTPServer.pas
│ │ │ ├── IdTunnelCommon.dcu
│ │ │ ├── IdTunnelCommon.pas
│ │ │ ├── IdTunnelMaster.dcu
│ │ │ ├── IdTunnelMaster.pas
│ │ │ ├── IdTunnelSlave.dcu
│ │ │ ├── IdTunnelSlave.pas
│ │ │ ├── IdUDPBase.dcu
│ │ │ ├── IdUDPBase.pas
│ │ │ ├── IdUDPClient.dcu
│ │ │ ├── IdUDPClient.pas
│ │ │ ├── IdUDPServer.dcu
│ │ │ ├── IdUDPServer.pas
│ │ │ ├── IdURI.dcu
│ │ │ ├── IdURI.dcu.r31761
│ │ │ ├── IdURI.dcu.r36742
│ │ │ ├── IdURI.pas
│ │ │ ├── IdUserAccounts.dcu
│ │ │ ├── IdUserAccounts.pas
│ │ │ ├── IdVCard.dcu
│ │ │ ├── IdVCard.pas
│ │ │ ├── IdVers.inc
│ │ │ ├── IdWhoIsServer.dcu
│ │ │ ├── IdWhoIsServer.pas
│ │ │ ├── IdWhois.dcu
│ │ │ ├── IdWhois.pas
│ │ │ ├── IdWinSock2.dcu
│ │ │ ├── IdWinSock2.dcu.r31761
│ │ │ ├── IdWinSock2.dcu.r36742
│ │ │ ├── IdWinSock2.pas
│ │ │ ├── Indy40.RES
│ │ │ ├── Indy40.dpk
│ │ │ ├── Indy40.rc
│ │ │ ├── Indy50.RES
│ │ │ ├── Indy50.dpk
│ │ │ ├── Indy50.rc
│ │ │ ├── Indy60.RES
│ │ │ ├── Indy60.dcu
│ │ │ ├── Indy60.dpk
│ │ │ ├── Indy60.rc
│ │ │ ├── Indy70.RES
│ │ │ ├── Indy70.cfg
│ │ │ ├── Indy70.dpk
│ │ │ ├── Indy70.rc
│ │ │ ├── IndyWin32.rsp
│ │ │ ├── ManualInstall.txt
│ │ │ ├── ReadMe.txt
│ │ │ ├── TREES.OBJ
│ │ │ ├── dclIndy40.RES
│ │ │ ├── dclIndy40.dpk
│ │ │ ├── dclIndy40.rc
│ │ │ ├── dclIndy50.RES
│ │ │ ├── dclIndy50.dpk
│ │ │ ├── dclIndy50.rc
│ │ │ ├── dclIndy60.RES
│ │ │ ├── dclIndy60.dcu
│ │ │ ├── dclIndy60.dpk
│ │ │ ├── dclIndy60.rc
│ │ │ ├── dclIndy70.RES
│ │ │ ├── dclIndy70.cfg
│ │ │ ├── dclIndy70.dpk
│ │ │ ├── dclIndy70.rc
│ │ │ ├── dclindy.dpk
│ │ │ ├── dclindy.res
│ │ │ ├── indy.dpk
│ │ │ ├── indy.res
│ │ │ ├── license.txt
│ │ │ ├── lspFix.dpr
│ │ │ ├── lspFix.exe
│ │ │ └── ssl.txt
│ │ ├── Server.exe
│ │ └── output
│ │ ├── IdAntiFreezeBase.dcu
│ │ ├── IdAssignedNumbers.dcu
│ │ ├── IdBaseComponent.dcu
│ │ ├── IdComponent.dcu
│ │ ├── IdException.dcu
│ │ ├── IdGlobal.dcu
│ │ ├── IdIOHandler.dcu
│ │ ├── IdIOHandlerSocket.dcu
│ │ ├── IdIntercept.dcu
│ │ ├── IdRFCReply.dcu
│ │ ├── IdResourceStrings.dcu
│ │ ├── IdServerIOHandler.dcu
│ │ ├── IdServerIOHandlerSocket.dcu
│ │ ├── IdSocketHandle.dcu
│ │ ├── IdSocks.dcu
│ │ ├── IdStack.dcu
│ │ ├── IdStackConsts.dcu
│ │ ├── IdStackWindows.dcu
│ │ ├── IdStream.dcu
│ │ ├── IdStrings.dcu
│ │ ├── IdTCPClient.dcu
│ │ ├── IdTCPConnection.dcu
│ │ ├── IdTCPServer.dcu
│ │ ├── IdTCPStream.dcu
│ │ ├── IdThread.dcu
│ │ ├── IdThreadMgr.dcu
│ │ ├── IdThreadMgrDefault.dcu
│ │ ├── IdThreadSafe.dcu
│ │ ├── IdURI.dcu
│ │ ├── IdWinSock2.dcu
│ │ └── mainFrm.dcu
│ ├── 3-SocketClient
│ │ ├── Client.exe
│ │ ├── SocketClient
│ │ │ ├── Client.cfg
│ │ │ ├── Client.dof
│ │ │ ├── Client.dpr
│ │ │ ├── Client.res
│ │ │ ├── MainForm.ddp
│ │ │ ├── MainForm.dfm
│ │ │ └── MainForm.pas
│ │ └── output
│ │ └── MainForm.dcu
│ └── 4-SocketServer
│ ├── Server.exe
│ ├── SocketServer
│ │ ├── MainForm.ddp
│ │ ├── MainForm.dfm
│ │ ├── MainForm.pas
│ │ ├── Server.cfg
│ │ ├── Server.dof
│ │ ├── Server.dpr
│ │ └── Server.res
│ └── output
│ └── MainForm.dcu
└── 5t6t网_27.IdTcpClient阻塞和非阻塞.rar
15 directories, 961 files
评论